#pragma once
#include "Vector3.h"
#ifdef WIN32
#include <GL/glut.h>
#endif
#ifdef __APPLE__
#include <GLUT/glut.h>
#endif

namespace lib3dw
{
	class PickRay
	{
		public:
			PickRay();
			~PickRay();
			void Update(int mouseX, int mouseY, int screenWidth, int screenHeight);
			const Vector3 GetOrigin() const;
			const Vector3 GetDirection() const;
			const Vector3 GetInverseDirection() const;
			const int GetSign0() const;
			const int GetSign1() const;			
			const int GetSign2() const;
						
		private:
			Vector3 origin;
			Vector3 direction;
	};
}